package jdbc;

import java.sql.*;
import java.util.Scanner;

/**
 * 用户登录
 * 程序启动后,要求用户输入用户名和密码
 * 然后程序应当根据该用户名和密码去userinfo表里查询该记录
 * 如果检索到记录则在控制台上输出"登录成功",否则输出"登录失败"
 *
 * SELECT id,username,password,nickname,age
 * FROM userinfo
 * WHERE username='用户输入的' AND password='用户输入的'
 */
public class LoginDemo {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入你的用户名");
        String username=scanner.nextLine();
        System.out.println("请输入你的密码");
        String password = scanner.nextLine();
//            System.out.println("请输入你的昵称");
//            String nickname = scanner.nextLine();
//            System.out.println("请输入你的年龄");
//            int age = scanner.nextInt();
        try (Connection connection = DBUtil.getConnection()){
            Statement statement = connection.createStatement();
            //这种存在数据注入的问题，存在风险
            //只要涉及到用户输入的，就需要对sql进行预编译，防止造成数据库注入问题
            String sql="SELECT id,username,password,nickname,age FROM userinfo WHERE username='" + username + "'  AND password = '" +password +"'";
//            PreparedStatement prepared = connection.prepareStatement(sql);
//            prepared.setString(1,username);
//            prepared.setString(2,password);
//            ResultSet rs = prepared.executeQuery();
            ResultSet rs = statement.executeQuery(sql);
            if (rs.next()){
                System.out.println("登陆成功,"+ rs.getString("nickname"));
            }else{
                System.out.println("登录失败");
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}
